A cloud storage system for safely storing and recovering big data has been introduced and actively used. For example, globally, companies including Google, Facebook, Amazon, Microsoft, and the like which provide services such as searching and providing data use the cloud storage system, that is, a distributed storage system for storing a vast amount of data.
The amount of information stored and distributed in the distributed storage system has rapidly increased due to an increase of service users and quality improvement of contents. However, in the distributed storage system, data is lost due to a defect in equipment in a distributed node or software and hardware update. Therefore, in order to restore the lost data, various types of coding techniques have been developed and used.
For example, as the most basic existing encoding method for recovering the lost data in the distributed storage system, a repetition encoding method is provided. This method makes several same copies of data and stores the copies in several distributed nodes to restore a lost node by using residual nodes even though any one of the copied nodes is lost.
An important index in data loss restoration encoding technique is a locality value indicating the minimum number of other nodes required to restore the lost nodes, which is used when some of nodes in the distributed storage system are lost.
However, the existing data loss restoration encoding techniques have an uppermost limit in that when one specific number of node is lost, only a method for guaranteeing the locality indicating the number of nodes required to restore the lost node is just proposed and jointly optimized locality cannot be guaranteed with respect to the loss of two or more of specific numbers of nodes.